﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CSharpBasic.DelegateTest
{

    /// <summary>
    /// 委托测试1
    /// 1、委托是一个类型 类似class string等
    /// 2、委托是对方法进行的
    ///
    /// 
    /// </summary>
    public class DelegateTest1
    {

        /// <summary>
        /// 定义一个委托，委托相当于是一个函数的类型
        ///
        /// 返回参数是striing 
        /// </summary>
        /// <returns></returns>
        private delegate string GetString();


        /// <summary>
        /// new 一个委托需要指向一个方法
        /// str1.tostring 是一个String的一个方法名，
        /// 
        /// </summary>
        public static void DoTest1()
        {
            string str1 = "abc";
            GetString getString = new GetString(str1.ToString);

            //注意 getString 相当于str1.ToString.
            string retsult = getString();

            Console.WriteLine("结果是:" + retsult);
        }


    }
}
